#!/usr/local/bin/pythonw
# -*- coding: utf-8 -*-
import re
import sys
from LCS_Ukkonen import LCS
from Boitoutils import *
def traiter(liste):
    print 'Résultats'
    nbr=len(liste)
    somme=0
    max=0
    for elem in liste:
        a=len(elem)
        if a>max:
            max=a
            chainemax=elem
        somme=somme+a
    moyenne=somme/nbr
    if moyenne<10:
        print liste
#        b/0
    print 'Segments répétés:',nbr
    print 'Moyenne:',moyenne
    print 'segment max:',chainemax
    sortie=[]
    nbr=str(nbr)
    moyenne=str(moyenne)
    max=str(max)
    sortie.append(nbr)
    sortie.append(moyenne)
    sortie.append(max)
    sortie.append(chainemax)
    return sortie

def analyse(resume,paragraphes):
    relevantcontent=[]
    for paragraphe in paragraphes:
        paragraphe=re.sub('\(|\)|\?',' ',paragraphe)
        repet='ericdimeco'
        while len(repet)>9:
#            print 'paragraphe ',compte
            repet=LCS(resume,paragraphe)
            repet=repet.LongestCommonSubstring()
            resume=re.sub(repet,'',resume)
#            print repet
            if len(repet)>5:
                relevantcontent.append(repet)
    return relevantcontent


def enregistrer_score(fichier,sortie):
    wfi=open('sortie','a')
    log=fichier
    for elem in sortie:
        log=log+'\t'+elem
    print>>wfi,log
    wfi.close()
def tester_paires():
    tableau='log_reference_appr.txt'
    ofi=open(tableau,'r')
    lignes=ofi.readlines()
    ofi.close()
    for ligne in lignes:
        ligne=re.sub('\n','',ligne)
        triplet=re.split('\t',ligne)
        print triplet
        resume='res/'+triplet[0]
        full='art/'+triplet[1]
        txt='txt/'+triplet[2]
        traiter_fichiers(resume,full)
        traiter_fichiers(resume,txt)
        
def traiter_fichiers(resume,full):
    print full
    #for fichier in full:
    chaine1=LireFichierTexte(resume)
    chaine2=LireFichierTexte(full)
    patt=re.compile('<p>(.*?)</p>')
    paragraphes=re.findall(patt,chaine2)
    relevantcontent=analyse(chaine1,paragraphes)
    sortie=traiter(relevantcontent)
    enregistrer_score(full,sortie)
        
if __name__ == "__main__":
    res=sys.argv[1]
    full=sys.argv[2:]

wfi=open('sortie','w')
wfi.close()
tester_paires()
#traiter_fichiers(res,full)



traiter(relevantcontent)

